Authentication কী এবং এর বিভিন্ন প্রকার (Basic, OAuth, JWT)

Web Development - ওয়েব সার্ভিস (Web Services) - Web Services এ Authentication এবং Security
167

Authentication (অথেনটিকেশন) হলো একটি প্রক্রিয়া যার মাধ্যমে সিস্টেম যাচাই করে যে, কেউ বা কিছু একটি নির্দিষ্ট সিস্টেম বা পরিষেবায় প্রবেশ করতে পারবেন কিনা। এটি নিশ্চিত করে যে, ব্যবহারকারী বা সিস্টেমটি আসল এবং অনুমোদিত। Authentication সাধারণত ব্যবহারকারীর পরিচয় নিশ্চিত করতে একটি বা একাধিক উপায় ব্যবহার করে, যেমন ইউজারনেম, পাসওয়ার্ড, বা অন্যান্য নিরাপত্তা ব্যবস্থা।


Authentication এর প্রকার

Authentication-এর বিভিন্ন প্রকার রয়েছে। কিছু প্রচলিত প্রকার হল:

  • Basic Authentication
  • OAuth
  • JWT (JSON Web Token)

১. Basic Authentication

Basic Authentication হলো সবচেয়ে সাধারণ এবং পুরানো Authentication পদ্ধতি, যা সাধারণত HTTP প্রোটোকলের মাধ্যমে ব্যবহৃত হয়। এর মাধ্যমে ব্যবহারকারী তার ইউজারনেম এবং পাসওয়ার্ড প্রদান করে, যা HTTP Header-এর মাধ্যমে সার্ভারে পাঠানো হয়। সার্ভার এটি যাচাই করে এবং ব্যবহারকারীকে অনুমোদিত হলে অ্যাক্সেস প্রদান করে।

বিশেষত্ব

  • সহজ ও দ্রুত: এটি খুবই সহজ এবং দ্রুত কার্যকরী, তবে নিরাপত্তার দিক থেকে বেশ দুর্বল।
  • ইউজারনেম এবং পাসওয়ার্ড: ব্যবহারকারী তার ইউজারনেম এবং পাসওয়ার্ড পাঠায়, যা Base64 encoding দিয়ে এনকোড করা থাকে, কিন্তু এটি এনক্রিপ্টেড হয় না, ফলে সহজেই উন্মুক্ত হতে পারে।
  • নিরাপত্তার অভাব: এটি নিরাপত্তা রক্ষা করার জন্য SSL/TLS (HTTPS) ব্যবহার করতে বাধ্য করে, কারণ Base64 এনকোডিং দিয়ে তথ্য পাঠানো হলেও তা নিরাপদ নয়।

ব্যবহার

  • ছোট এবং সহজ অ্যাপ্লিকেশন, যেমন এক্সটারনাল API-তে দ্রুত অ্যাক্সেস।

উদাহরণ

Authorization: Basic <Base64 encoded username:password>

২. OAuth (Open Authorization)

OAuth হলো একটি ওপেন স্ট্যান্ডার্ড প্রোটোকল, যা ব্যবহারকারীর অ্যাক্সেস প্রদানকারী (authentication provider) থেকে নির্দিষ্ট তথ্য অ্যাক্সেস করতে অনুমতি দেয়। এটি তৃতীয় পক্ষের অ্যাপ্লিকেশনকে, সরাসরি পাসওয়ার্ড শেয়ার না করেই, ব্যবহারকারীর রিসোর্সে প্রবেশের অনুমতি দেয়। OAuth একাধিক scopes এবং tokens ব্যবহার করে ব্যবহারকারীকে নির্দিষ্ট পরিসরের জন্য অ্যাক্সেস প্রদান করে।

বিশেষত্ব

  • টোকেন ভিত্তিক: OAuth ডেটা অ্যাক্সেসের জন্য টোকেন ব্যবহার করে, যা পাসওয়ার্ডের পরিবর্তে একটি নিরাপদ পদ্ধতি।
  • বহু স্তরের নিরাপত্তা: OAuth এ Access Token এবং Refresh Token থাকে, যা নিরাপদভাবে অ্যাক্সেস প্রদান করে এবং পুনরায় টোকেন রিনিউ করার সুযোগ দেয়।
  • Third-party Authorization: OAuth তৃতীয় পক্ষের অ্যাপ্লিকেশনের মাধ্যমে ব্যবহারকারীকে ডেটা অ্যাক্সেস করার অনুমতি দেয়, যেমন গুগল, ফেসবুক, টুইটার, ইত্যাদি।

ব্যবহার

  • সোশ্যাল মিডিয়া লগইন (গুগল, ফেসবুক লগইন), তৃতীয় পক্ষের অ্যাপ্লিকেশনে ব্যবহারকারীর অ্যাক্সেস প্রদান।

OAuth 2.0 Workflow

  1. ব্যবহারকারী প্রথমে অ্যাপ্লিকেশনকে তার ডেটায় অ্যাক্সেস দেওয়ার জন্য অনুমতি দেয়।
  2. অ্যাপ্লিকেশন একটি Authorization Code পায়।
  3. এই কোড ব্যবহার করে অ্যাপ্লিকেশন Access Token পায়, যা ভবিষ্যতে ডেটা অ্যাক্সেস করতে ব্যবহার করা হয়।

৩. JWT (JSON Web Token)

JWT (JSON Web Token) হলো একটি নিরাপদ ও compact টোকেন ভিত্তিক Authentication পদ্ধতি, যা ওয়েব সার্ভিসে ব্যবহারকারীর অ্যাক্সেস কন্ট্রোলের জন্য ব্যবহৃত হয়। JWT একটি স্ট্যান্ডার্ড JSON ফরম্যাটে ডেটা এনকোড করে এবং এটি সহজেই নিরাপদ ও ক্ষুদ্রাকৃত আকারে ট্রান্সফার করা যায়। এটি সাধারণত দুটি প্রধান অংশে বিভক্ত থাকে:

  • Header
  • Payload
  • Signature

JWT সাধারণত Bearer Token হিসেবে ব্যবহার করা হয়, এবং এটি অনেক ওয়েব অ্যাপ্লিকেশন এবং API-তে জনপ্রিয়।

বিশেষত্ব

  • স্ট্যাটলেস: JWT প্রোটোকল স্ট্যাটলেস, অর্থাৎ সার্ভারকে কোনো স্টোরেজ সংরক্ষণ করার প্রয়োজন হয় না, কারণ টোকেনটি নিজেই সমস্ত তথ্য ধারণ করে।
  • সুরক্ষা: JWT সিক্রেট বা পাবলিক/প্রাইভেট কিপেয়ার দিয়ে সিগনেচার করা হয়, যা এটি নিরাপদ করে তোলে।
  • কমপ্যাক্ট: JSON ফরম্যাটে ডেটা এনকোড করা থাকে, ফলে এটি ছোট এবং দ্রুত ট্রান্সফার করা যায়।

ব্যবহার

  • API Authentication, মাইক্রোসার্ভিস আর্কিটেকচার, ওয়েব অ্যাপ্লিকেশন।

JWT এর গঠন

  • Header: এটি সাধারণত আলগোরিদমের তথ্য এবং টোকেনের ধরন ধারণ করে (যেমন HS256 বা RS256)।
  • Payload: এতে তথ্য থাকে, যেমন ব্যবহারকারীর নাম, ইমেল ইত্যাদি।
  • Signature: এটি header এবং payload এর সাথে একটি সিক্রেট কী দিয়ে সাইন করা হয়।

উদাহরণ

Authorization: Bearer <JWT token>

সারাংশ

Authentication প্রক্রিয়া সিস্টেমে কোনো ব্যবহারকারী বা সেবা পরিচিত কিনা তা যাচাই করার জন্য ব্যবহৃত হয়। Basic Authentication সাধারণ এবং দ্রুত, তবে কম নিরাপদ। OAuth তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলির জন্য নিরাপদ অথেনটিকেশন প্রদান করে এবং JWT একটি হালকা, নিরাপদ এবং স্ট্যাটলেস পদ্ধতি যা ওয়েব অ্যাপ্লিকেশন ও API-তে ব্যাপকভাবে ব্যবহৃত হয়।

এগুলি বিভিন্ন সিস্টেম এবং প্রোটোকলের মধ্যে নিরাপদ যোগাযোগ এবং ডেটা অ্যাক্সেস নিশ্চিত করার জন্য অত্যন্ত গুরুত্বপূর্ণ।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...